/**
 * 限定 swf 只能在特定域下播放
 * @author	czbin
 * ibio 整理、修改
 * 2009-1-8 11:28
 */
package com.ibio8.system {
	import com.ibio8.javascript.JSFunction;
	/**
	 * 限定 swf 只能在特定域下播放。
	 * 
	 * <p>
	 * 检查当前 Flash 所在域是否合法，以限定 swf 只能在特定域下播放。
	 * </p>
	 * <b>此类原作者 czbin。</b>
	 */
	public class DomainControl {
		/** @private **/
		/**
		 * 此模式匹配默认的一些URL，例如
		 * http://a.b.ibio8.com/
		 * http://ibio8.com./a.html
		 * 不匹配类似一下的模式:
		 * http://ibio8.com.abc.com
		 * http://ibio8.abc.com
		 * http://www.abc.com/a=http://a.b.ibio8.com/
		 */
		protected static var m_domains:Array = [/^(?:https?:\/\/)(?:[a-z0-9\-_]+\.)*ibio8\.com\.?/im];
		
		/**
		 * 检查当前 Flash 所在域是否合法
		 * @param ags	用于判断当前 URL 的正则的列表
		 * @return		合法则返回 true，否则返回 false
		 */
		public static function check(...ags):Boolean{
			var url:String = JSFunction.currentURL;
			var newDomains:Array = m_domains;
			var flag:Boolean = false;
			if (ags.length > 0) {
				newDomains = m_domains.concat(ags);
			}
			for each(var reg:RegExp in newDomains){
				flag = (flag || reg.test(url));
			}
			return flag;
		}
	}
}